Currently, there is an unprecedented need for scalable high performance storage and data management, partly due to the wide use of cloud computing. Large distributed storage systems have been developed to satisfy this need for scalable high performance storage and data management. In these large distributed storage systems, data operations such as read and write operations are typically decoupled from metadata operations to ensure fast access to storage devices. Although fast access to storage devices is an important criterion for a distributed storage system, efficient metadata management is critical in achieving high performance and scalability.
In a typical distributed storage system, one or more specialized metadata servers are used to manage metadata for the storage system, including metadata related to storage space allocation. Even with multiple metadata servers, numerous accesses to the metadata servers by clients can create bottlenecks at the metadata servers, which can degrade the performance of the storage system and can limit the scalability of the storage system. Thus, reducing communications between the clients and the metadata servers to ease potential bottlenecks at the metadata servers is essential to achieving scalability and high performance for a distributed storage system.
Throughout the description, similar reference numbers may be used to identify similar elements.